﻿package mortal.game.net.command.sixBoss
{
    import Framework.MQ.*;
    import Message.Command.*;
    import Message.Public.*;
    import com.gengine.debug.*;
    import mortal.game.cache.*;
    import mortal.game.mvc.*;
    import mortal.game.net.broadCast.*;
    import mortal.mvc.core.*;

    public class SixBossCommand extends BroadCastCall
    {

        public function SixBossCommand(param1:Object)
        {
            super(param1);
            return;
        }// end function

        override public function call(param1:MessageBlock) : void
        {
            var _loc_2:SMonsterSiegeBossHurtInfoMsg = null;
            var _loc_3:SMonsterSiegeBossInfoMsg = null;
            var _loc_4:SRaidersOpenMsg = null;
            var _loc_5:SMonsterSiegeResultMsg = null;
            Log.debug("I have receive TreasureHuntCommand");
            super.call(param1);
            switch(param1.messageHead.command)
            {
                case EPublicCommand._ECmdPublicMonsterSiegeOpen:
                {
                    _loc_4 = param1.messageBase as SRaidersOpenMsg;
                    Cache.instance.copy.sixBoss.sixBossTimeInfo = _loc_4;
                    NetDispatcher.dispatchCmd(ServerCommand.SixBossCopyOpen, _loc_4);
                    break;
                }
                case EPublicCommand._ECmdPublicMonsterSiegeClose:
                {
                    NetDispatcher.dispatchCmd(ServerCommand.SixBossCopyClose, null);
                    break;
                }
                case EPublicCommand._ECmdPublicMonsterSiegeCopyEnd:
                {
                    NetDispatcher.dispatchCmd(ServerCommand.SixBossCopyEnd, null);
                    break;
                }
                case EPublicCommand._ECmdPublicMonsterSiegeBossHurtList:
                {
                    _loc_2 = param1.messageBase as SMonsterSiegeBossHurtInfoMsg;
                    Cache.instance.copy.sixBoss.sixBossHurtInfo = _loc_2;
                    NetDispatcher.dispatchCmd(ServerCommand.SixBossPlayerHurtRankUpdate, null);
                    break;
                }
                case EPublicCommand._ECmdPublicMonsterSiegeBossResult:
                {
                    _loc_5 = param1.messageBase as SMonsterSiegeResultMsg;
                    NetDispatcher.dispatchCmd(ServerCommand.SixBossShowResultInfo, _loc_5);
                    break;
                }
                case EPublicCommand._ECmdPublicMonsterSiegeBossInfo:
                {
                    _loc_3 = param1.messageBase as SMonsterSiegeBossInfoMsg;
                    Cache.instance.copy.sixBoss.sixBossKillInfo = _loc_3;
                    NetDispatcher.dispatchCmd(ServerCommand.SixBossKillInfoUpdate, null);
                    break;
                }
                case EPublicCommand._ECmdPublicMonsterSiegeChangeBoss:
                {
                    break;
                }
                default:
                {
                    break;
                }
            }
            return;
        }// end function

    }
}
